﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using FW;
using dbiparser;
using System.Threading;
using System.Threading.Tasks;


namespace kserv
{
    public class consultasThreadMP
    {
        //private linhaComplex lc;
        //private int idemp;
        //private long idos;


        //public consultasThread(linhaComplex _lc, int _idemp, long _idos)
        //{
        //    lc = _lc;
        //    idemp = _idemp;
        //    idos = _idos;
        //}

        static private  void gravarConprovanteV1(string _tipo, string _html, string _cnpj, int __idemp, long __idos)
        {
            configSRV csrv = new configSRV();
            fwlog log = new fwlog(csrv.TEMPDIR + "\\log.dbiKcad.txt", csrv.TIPOLOG);
            try
            {

                //string crchave = "q1w2e3r4t5y6u7i8o9p0zaxscdvfbgnhmjkl";
                //configSRV csrv = new configSRV();
                cIO io = new cIO();
                io.CriaDir(csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/comprovantes");
                string data = FW.utils.GeraTimeStampDT();
                io.NomeArquivo = csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/comprovantes/" + _tipo + "_" + _cnpj + "_" + data + ".html";
                io.Conteudo = _html;
                io.GravarArquivo();
                io = null;
            }
            catch (Exception ex)
            {
                log.erro("gravarConprovanteV1", __idos.ToString(), ex.Message + "|" + ex.StackTrace);
            }
        }


        static public void consultaCNPJRFV1(linhaComplex _lc, long __idos, int __idemp, int _mpn)
        {
            //string crchave = "q1w2e3r4t5y6u7i8o9p0zaxscdvfbgnhmjkl";
            configSRV csrv = new configSRV();
            fwlog log = new fwlog(csrv.TEMPDIR + "\\log.dbiKcad.txt", csrv.TIPOLOG);
            // System.Diagnostics.Debugger.Launch();

            try
            {
                string ret = "";

                int qtd = 0;
                if (int.TryParse(_lc.RF, out qtd))
                {
                    if (qtd < 5)
                    {
                        dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);
                        try
                        {
                            dbiparser.dbiparser.RFCNPJ cnpj = (dbiparser.dbiparser.RFCNPJ)dbi.Consulta(3, _lc.ORCNPJ, "", "", "", "");

                            if (dbi.ERROCONSULTA == null)
                            {
                                gravarConprovanteV1("RF", cnpj.PAGINA, _lc.ORCNPJ, __idemp, __idos);


                                _lc.RFBAIRRO = cnpj.BAIRRO.Replace("\"", "");
                                _lc.RFCEP = cnpj.CEP.Replace("\"", "");
                                _lc.RFCIDADE = cnpj.CIDADE.Replace("\"", "");
                                _lc.RFCNPJ = cnpj.CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("\"", "");
                                _lc.RFCODIGOAE = cnpj.CODIGOAE.Replace("\"", "");
                                _lc.RFCODIGOAESECUNDARIA = cnpj.CODIGOAESECUNDARIA.Replace("\"", "");
                                _lc.RFCODIGONJ = cnpj.CODIGONJ.Replace("\"", "");
                                _lc.RFCOMPLEMENTO = cnpj.COMPLEMENTO.Replace("\"", "");
                                _lc.RFDATAABERTURA = cnpj.DATAABERTURA.ToString("dd/MM/yyyy");
                                _lc.RFDATACONSULTA = cnpj.DATACONSULTA.ToString("dd/MM/yyyy");
                                _lc.RFDATASITUACAO = cnpj.DATASITUACAO.ToString("dd/MM/yyyy");
                                _lc.RFDATASITUACAOESPECIAL = cnpj.DATASITUACAOESPECIAL.ToString("dd/MM/yyyy");
                                _lc.RFDESCRICAOAE = cnpj.DESCRICAOAE.Replace("\"", "");
                                _lc.RFDESCRICAOAESECUNDARIA = cnpj.DESCRICAOAESECUNDARIA.Replace("\"", "");
                                _lc.RFDESCRICAONJ = cnpj.DESCRICAONJ.Replace("\"", "");
                                _lc.RFERRCOD = "0";
                                _lc.RFERRDESCRI = "";
                                _lc.RFESTADO = cnpj.ESTADO.Replace("\"", "");
                                _lc.RFHORACONSULTA = cnpj.HORACONSULTA.Replace("\"", "");
                                _lc.RFLOGRADOURO = cnpj.LOGRADOURO.Replace("\"", "");
                                _lc.RFMOTIVOSITUACAO = cnpj.MOTIVOSITUACAO.Replace("\"", "");
                                _lc.RFNOMEFANTASIA = cnpj.NOMEFANTASIA.Replace("\"", "");
                                _lc.RFNUMERO = cnpj.NUMERO.Replace("\"", "");
                                _lc.RFRAZAOSOCIAL = cnpj.RAZAOSOCIAL.Replace("\"", "");
                                _lc.RFSITUACAO = cnpj.SITUACAO.Replace("\"", "");
                                _lc.RFSITUACAOESPECIAL = cnpj.SITUACAOESPECIAL.Replace("\"", "");
                                _lc.RFTIPOEMPRESA = cnpj.TIPOEMPRESA.Replace("\"", "");

                                _lc.RF = "OK";

                                ret = _lc.LINHA;

                               
                            }
                            else
                            {
                                if (dbi.ERROCONSULTA.CODERRO == "2")
                                {
                                    _lc.RF = "ERR"; // (Convert.ToInt16(_lc.RF) + 1).ToString();
                                    _lc.RFERRCOD = dbi.ERROCONSULTA.CODERRO;
                                    _lc.RFERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;

                                    ret = _lc.LINHA;
                                }
                                else if (dbi.ERROCONSULTA.CODERRO == "19")
                                {
                                    _lc.RF = "ERR";
                                    _lc.RFERRCOD = dbi.ERROCONSULTA.CODERRO;
                                    _lc.RFERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;

                                    ret = _lc.LINHA;

                               
                                }
                                else
                                {
                                    _lc.RF = (qtd + 1).ToString();
                                    _lc.RFERRCOD = dbi.ERROCONSULTA.CODERRO;
                                    _lc.RFERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;

                                    ret = _lc.LINHA;

                                }
                            }

                        }
                        catch (Exception ex)
                        {
                            _lc.RF = (qtd + 1).ToString();
                            _lc.RFERRCOD = "ERR DBI";
                            _lc.RFERRDESCRI = "Vide LOG";

                            ret = _lc.LINHA;

                            //erro = "3-2";
                            //uf = "";
                            //cidade = "";
                            //ls.TIPOVERIFICACAO = "RFerr";
                            //ls.CODIGO = codigoint;
                            //ls.EMPRESA = empresaint;
                            //ls.FILIAL = filialint;
                            //ls.CNPJ = _cnpj;
                            //ls.ERROCOD = "Erro WS DBI";
                            //ls.ERRODESCRI = "Consultar LOG";
                            //ls.QTDTENTATIVAS = (_tentativas + 1).ToString();
                            //ret = ls.LINHA;
                            log.erro("consultaCNPJRFV1", String.Format("IDOS:{0},CNPJ:{1}", __idos.ToString(), _lc.ORCNPJ), ex.Message + "|" + ex.StackTrace.ToString());
                        }
                        dbi = null;
                    }
                    else
                    {
                        _lc.RF = "ERR";
                        _lc.RFERRCOD = "tentativas RF";
                        _lc.RFERRDESCRI = "Ocorreram mais de 5 tentativas sem exito do DBI, processo cancelado";

                        ret = _lc.LINHA;
                    }

                }
                else
                {
                    _lc.RF = "ERR";
                    _lc.RFERRCOD = "qtd not int";
                    _lc.RFERRDESCRI = "qtd not int";

                    ret = _lc.LINHA;
                }

                string arquivo = csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/mp/" + _mpn.ToString() + "/consultas.txt";
                FW.cIO.appendLine(arquivo, ret);
            }
            catch (Exception ex)
            {
                log.erro("consultaCNPJRFV1 falha metodo", __idos.ToString(), ex.Message + "|" + ex.StackTrace);
            }
            //return ret;
        }

        static public void consultaCNPJIBGEV1(linhaComplex _lc, long __idos, int __idemp, int _mpn)
        {
            configSRV csrv = new configSRV();
            fwlog log = new fwlog(csrv.TEMPDIR + "\\log.dbiKcad.txt", csrv.TIPOLOG);
            // System.Diagnostics.Debugger.Launch();
            try
            {
                string ret = "";


                if (_lc.RFESTADO != "" && _lc.RFESTADO != "**")
                {
                    int qtd = 0;
                    if (int.TryParse(_lc.IB, out qtd))
                    {
                        if (qtd < 5)
                        {
                            dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);

                            try
                            {
                                dbiparser.dbiparser.MUNICIPIOIBGE ibge = (dbiparser.dbiparser.MUNICIPIOIBGE)dbi.Consulta(13, _lc.RFCIDADE, _lc.RFESTADO, "", "", "");
                                if (dbi.ERROCONSULTA == null)
                                {
                                    _lc.IBCODIBGE = ibge.CODIGOIBGE;
                                    _lc.IB = "OK";
                                }
                                else
                                {
                                    _lc.IB = (qtd+1).ToString();
                                    _lc.STATUS = "WS DBI IBGE " + dbi.ERROCONSULTA.CODERRO + dbi.ERROCONSULTA.ERRODESCRI;
                                    //log.erro("consultaIBGERF", _lc.ORCNPJ, ex.Message);
                                }
                            }
                            catch (Exception ex)
                            {
                                _lc.IB = (qtd+1).ToString();
                                _lc.STATUS = "ERR WS DBI IBGE ";
                                log.erro("consultaIBGERF", _lc.ORCNPJ, ex.Message + "|" + ex.StackTrace.ToString());
                            }

                            dbi = null;
                        }
                        else
                        {
                            _lc.IB = "ERR";
                            _lc.STATUS = "tentativas IB";
                        }
                    }
                    else
                    {
                        _lc.IB = "ERR";
                        _lc.STATUS = "IBGE not int";
                    }
                }
                else
                {
                    _lc.IB = "ERR";
                    _lc.STATUS = "IBGE UF null";
                }

                ret = _lc.LINHA;

                string arquivo = csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/mp/" + _mpn.ToString() + "/consultas.txt";
                FW.cIO.appendLine(arquivo, ret);
            }
            catch (Exception ex)
            {
                log.erro("consultaCNPJIBGEV1 falha metodo", __idos.ToString(), ex.Message + "|" + ex.StackTrace.ToString());
            }
        }

        static public void consultaCNPJSIV1(linhaComplex _lc, long __idos, int __idemp, int _mpn)
        {
            configSRV csrv = new configSRV();
            fwlog log = new fwlog(csrv.TEMPDIR + "\\log.dbiKcad.txt", csrv.TIPOLOG);
            // System.Diagnostics.Debugger.Launch();
            try
            {
                string ret = "";



                if (_lc.RFESTADO != "" && _lc.RFESTADO != "**")
                {
                    int qtd = 0;
                    if (int.TryParse(_lc.SI, out qtd))
                    {
                        if (qtd < 5)
                        {
                            dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);
                            dbi.USARLISTASINTEGRA = true;
                            try
                            {

                                dbiparser.dbiparser.ListaSINTEGRA lsin = (dbiparser.dbiparser.ListaSINTEGRA)dbi.Consulta(1, _lc.RFCNPJ.Replace(".", "").Replace("-", "").Replace("/", ""), _lc.RFESTADO, "", "", "");
                                if (dbi.ERROCONSULTA == null)
                                {
                                    int count = 0;

                                    foreach (dbiparser.dbiparser.SINTEGRA sin in lsin.LISTASI)
                                    {
                                        gravarConprovanteV1("SI" + count.ToString(), sin.PAGINA, _lc.ORCNPJ, __idemp, __idos);

                                        _lc.SIBAIRRO = sin.BAIRRO.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SICEP = sin.CEP.Replace("-", "").Replace("/", "") + ";";
                                        _lc.SICIDADE = sin.CIDADE.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SICNPJ = sin.CNPJ.Replace("-", "").Replace("/", "").Replace(".", "").Replace("\"", "") + ";";
                                        _lc.SICODINCRA = sin.CODINCRA.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SICOMPLEMENTO = sin.COMPLEMENTO.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIDATABAIXA = sin.DATABAIXA.ToString("dd/MM/yyyy") + ";";
                                        _lc.SIDATACONSULTA = sin.DATACONSULTA.ToString("dd/MM/yyyy") + ";";
                                        _lc.SIDATAINCLUSAO = sin.DATAINCLUSAO.ToString("dd/MM/yyyy") + ";";
                                        _lc.SIEMAIL = sin.EMAIL.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIEMISSAONFE = sin.EMISSAONFE.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIENQUADRAMENTOEMPRESA = sin.ENQUADRAMENTOEMPRESA.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIESTADO = sin.ESTADO.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIIE = sin.IE.Replace("-", "").Replace("/", "").Replace(".", "").Replace("\"", "") + ";";
                                        _lc.SILOGRADOURO = sin.LOGRADOURO.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIMOTIVOBAIXA = sin.MOTIVOBAIXA.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SINOMEFANTASIA = sin.NOMEFANTASIA.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SINUMERO = sin.NUMERO.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SINUMEROCONSULTA = sin.NUMEROCONSULTA.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIRAZAOSOCIAL = sin.RAZAOSOCIAL.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIREGIMEAPURACAO = sin.REGIMEAPURACAO.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIREGULARIDADEFISCAL = sin.REGULARIDADEFISCAL.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SISITUACAO = sin.SITUACAO.Replace("\"", "").Replace(";", "") + ";";
                                        _lc.SIERRCOD = "0";
                                        _lc.SIERRDESCRI = "";
                                        count++;
                                    }
                                    _lc.SI = "OK";
                                }
                                else
                                {
                                    if (dbi.ERROCONSULTA.CODERRO == "19")// erro = 19 = Contribuinte não sujeito ao ICMS.
                                    {
                                        _lc.SI = "OK";
                                        _lc.SISITUACAO = "ISENTO";
                                        _lc.SIERRCOD = dbi.ERROCONSULTA.CODERRO;
                                        _lc.SIERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;

                                    }
                                    else if (dbi.ERROCONSULTA.CODERRO == "30")// erro = 30 = CNPJ não cadastrado no estado.
                                    {
                                        _lc.SI = "OK";
                                        _lc.SISITUACAO = "NAO CADASTRADO";
                                        _lc.SIERRCOD = dbi.ERROCONSULTA.CODERRO;
                                        _lc.SIERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;
                                    }
                                    else
                                    {
                                        _lc.SI = (qtd + 1).ToString();
                                        _lc.SIERRCOD = dbi.ERROCONSULTA.CODERRO;
                                        _lc.SIERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;
                                    }

                                }

                            }

                            catch (Exception ex)
                            {
                                _lc.SI = (qtd+1).ToString();
                                _lc.SIERRCOD = "ERR WS DBI SI ";
                                _lc.SIERRDESCRI = "Vide LOG";
                                log.erro("consultaCNPJSIV1", _lc.ORCNPJ, ex.Message + "|" + ex.StackTrace.ToString());
                            }
                            dbi = null;
                        }
                        else
                        {
                            _lc.SI = "ERR";
                            _lc.SIERRCOD = "tentativa SI";
                            _lc.SIERRDESCRI = "Ocorreram mais de 5 tentativas sem exito do DBI SI, processo cancelado";
                        }
                    }
                    else
                    {
                        _lc.SI = "ERR";
                        _lc.SIERRCOD = "SI not int";
                        _lc.SIERRDESCRI = "SI não contem um numero inteiro";
                    }
                }
                else
                {
                    _lc.SI = "ERR";
                    _lc.SIERRCOD = "UF null";
                    _lc.SIERRDESCRI = "UF não definido";
                }

                ret = _lc.LINHA;

                string arquivo = csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/mp/" + _mpn.ToString() + "/consultas.txt";
                FW.cIO.appendLine(arquivo, ret);
            }
            catch (Exception ex)
            {
                log.erro("consultaCNPJSIV1 falha metodo", __idos.ToString(), ex.Message + "|" + ex.StackTrace.ToString());
            }
        }

        static public void consultaCNPJSNV1(linhaComplex _lc, long __idos, int __idemp, int _mpn)
        {
            // System.Diagnostics.Debugger.Launch();
            configSRV csrv = new configSRV();
            fwlog log = new fwlog(csrv.TEMPDIR + "\\log.dbiKcad.txt", csrv.TIPOLOG);

            try
            {
                string ret = "";

                int qtd = 0;

                if (int.TryParse(_lc.SN, out qtd))
                {
                    if (qtd < 5)
                    {
                        dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);
                        try
                        {
                            dbiparser.dbiparser.SIMPLES simples = (dbiparser.dbiparser.SIMPLES)dbi.Consulta(9, _lc.RFCNPJ.Replace("\"", "").Replace("/", "").Replace(".", "").Replace("-", ""), "", "", "", "");

                            if (dbi.ERROCONSULTA == null)
                            {
                                gravarConprovanteV1("SN", simples.PAGINA, _lc.ORCNPJ, __idemp, __idos);

                                _lc.SNCNPJ = simples.CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("\"", "");
                                _lc.SNRAZAOSOCIAL = simples.RAZAOSOCIAL.Replace("\"", "");
                                _lc.SNDATASITUACAO = simples.DATASITUACAO.ToString("dd/MM/yyyy");
                                _lc.SNERRCOD = "0";
                                _lc.SNERRDESCRI = "";
                                _lc.SNSITUACAO = simples.SITUACAO.Replace("\"", "");
                                _lc.SNSITUACAOANTERIOR = simples.SITUACAOANTERIOR.Replace("\"", "");
                                _lc.SNSITUACAOSIMEI = simples.SITUACAOSIMEI.Replace("\"", "");
                                _lc.SN = "OK";

                                ret = _lc.LINHA;

                            }
                            else
                            {
                                _lc.SN = (qtd + 1).ToString();
                                _lc.SNCNPJ = "";
                                _lc.SNRAZAOSOCIAL = "";
                                _lc.SNDATASITUACAO = "";
                                _lc.SNERRCOD = dbi.ERROCONSULTA.CODERRO.ToString();
                                _lc.SNERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI.ToString();
                                _lc.SNSITUACAO = "";
                                _lc.SNSITUACAOANTERIOR = "";
                                _lc.SNSITUACAOSIMEI = "";
                                ret = _lc.LINHA;

                            }

                        }
                        catch (Exception ex)
                        {
                            _lc.SN = (qtd + 1).ToString();
                            _lc.SNCNPJ = "";
                            _lc.SNRAZAOSOCIAL = "";
                            _lc.SNDATASITUACAO = "";
                            _lc.SNERRCOD = "Erro DBI WS";
                            _lc.SNERRDESCRI = "Consulte LOG WS DBI";
                            _lc.SNSITUACAO = "";
                            _lc.SNSITUACAOANTERIOR = "";
                            _lc.SNSITUACAOSIMEI = "";
                            ret = _lc.LINHA;

                            log.erro("consultaCNPJSNV1", String.Format("IDOS:{0},CNPJ:{1}", __idos.ToString(), _lc.ORCNPJ), ex.Message + "|" + ex.StackTrace.ToString());
                        }
                    }
                    // else if qtd < 5
                    else
                    {
                        _lc.SN = "ERR";
                        _lc.SNERRCOD = "tentativas SN";
                        _lc.SNERRDESCRI = "Ocorreram mais de 5 tentativas sem exito do DBI, processo cancelado";
                        _lc.SNCNPJ = "";
                        _lc.SNRAZAOSOCIAL = "";
                        _lc.SNDATASITUACAO = "";
                        _lc.SNSITUACAO = "";
                        _lc.SNSITUACAOANTERIOR = "";
                        _lc.SNSITUACAOSIMEI = "";
                        ret = _lc.LINHA;

                    }
                }

                // else do int.tryparse
                else
                {
                    _lc.SN = "ERR";
                    _lc.SNERRCOD = "qtd not int";
                    _lc.SNERRDESCRI = "qtd tentativas not int";

                    ret = _lc.LINHA;
                }

                string arquivo = csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/mp/" + _mpn.ToString() + "/consultas.txt";
                FW.cIO.appendLine(arquivo, ret);
            }
            catch (Exception ex)
            {
                log.erro("consultaCNPJSNV1 falha metodo", __idos.ToString(), ex.Message + "|" + ex.StackTrace);
            }
        }

        static public void consultaCNPJSUV1(linhaComplex _lc, long __idos, int __idemp, int _mpn)
        {
           // System.Diagnostics.Debugger.Launch();
            configSRV csrv = new configSRV();
            fwlog log = new fwlog(csrv.TEMPDIR + "\\log.dbiKcad.txt", csrv.TIPOLOG);

            try
            {
                string ret = "";
                int qtd = 0;
                
                if (_lc.RFESTADO == "AM")
                {

                    if (int.TryParse(_lc.SU, out qtd))
                    {
                        if (qtd < 5)
                        {
                            dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);
                            try
                            {
                                dbiparser.dbiparser.SUFRAMA suframa = (dbiparser.dbiparser.SUFRAMA)dbi.Consulta(7, _lc.RFCNPJ.Replace("\"", "").Replace("/", "").Replace(".", "").Replace("-", ""), "", "", "", "");

                                if (dbi.ERROCONSULTA == null)
                                {
                                    gravarConprovanteV1("SU", suframa.PAGINA, _lc.ORCNPJ, __idemp, __idos);
                                    _lc.SU = "OK";
                                    _lc.SUATIVIDADEECONOMICA = suframa.ATIVIDADEECONOMICA.Replace("\"", "");
                                    _lc.SUBAIRRO = suframa.BAIRRO.Replace("\"", "");
                                    _lc.SUCEP = suframa.CEP.Replace("\"", "");
                                    _lc.SUCIDADE = suframa.CIDADE.Replace("\"", "");
                                    _lc.SUCNPJ = suframa.CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("\"", "");
                                    _lc.SUCOMPLEMENTO = suframa.COMPLEMENTO.Replace("\"", "");
                                    _lc.SUDATACONSULTA = suframa.DATACONSULTA.ToString("dd/MM/yyyy");
                                    _lc.SUDATAVALIDADE = suframa.DATAVALIDADE.ToString("dd/MM/yyyy");
                                    _lc.SUEMAIL = suframa.EMAIL.Replace("\"", "");
                                    _lc.SUERRCOD = "";
                                    _lc.SUERRDESCRI = "";
                                    _lc.SUESTADO = suframa.ESTADO.Replace("\"", "");
                                    _lc.SULOGRADOURO = suframa.LOGRADOURO.Replace("\"", "");
                                    _lc.SUNUMERO = suframa.NUMERO.Replace("\"", "");
                                    _lc.SUPAGINA = "";
                                    _lc.SURAZAOSOCIAL = suframa.RAZAOSOCIAL.Replace("\"", "");
                                    _lc.SUSITUACAO = suframa.SITUACAO.Replace("\"", "");
                                    _lc.SUSUFRAMANUM = suframa.SUFRAMANUM.Replace("\"", "");
                                    _lc.SUTELEFONE = suframa.TELEFONE.Replace("\"", "");
                                    _lc.SUTIPOINCENTIVO = suframa.TIPOINCENTIVO.Replace("\"", "");
                                    
                                      ret = _lc.LINHA;

                                }
                                else
                                {
                                    if (dbi.ERROCONSULTA.CODERRO == "30")
                                    {
                                        _lc.SU = "OK";
                                        _lc.SUATIVIDADEECONOMICA = "";
                                        _lc.SUBAIRRO = "";
                                        _lc.SUCEP = "";
                                        _lc.SUCIDADE = "";
                                        _lc.SUCNPJ = "";
                                        _lc.SUCOMPLEMENTO = "";
                                        _lc.SUDATACONSULTA = "";
                                        _lc.SUDATAVALIDADE = "";
                                        _lc.SUEMAIL = "";
                                        _lc.SUERRCOD = dbi.ERROCONSULTA.CODERRO.ToString();
                                        _lc.SUERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI.ToString();
                                        _lc.SUESTADO = "";
                                        _lc.SULOGRADOURO = "";
                                        _lc.SUNUMERO = "";
                                        _lc.SUPAGINA = "";
                                        _lc.SURAZAOSOCIAL = "";
                                        _lc.SUSITUACAO = "";
                                        _lc.SUSUFRAMANUM = "";
                                        _lc.SUTELEFONE = "";
                                        _lc.SUTIPOINCENTIVO = "";
                                    
                                    }
                                    else if (dbi.ERROCONSULTA.CODERRO == "5")
                                    {
                                        _lc.SU = "OK";
                                        _lc.SUATIVIDADEECONOMICA = "";
                                        _lc.SUBAIRRO = "";
                                        _lc.SUCEP = "";
                                        _lc.SUCIDADE = "";
                                        _lc.SUCNPJ = "";
                                        _lc.SUCOMPLEMENTO = "";
                                        _lc.SUDATACONSULTA = "";
                                        _lc.SUDATAVALIDADE = "";
                                        _lc.SUEMAIL = "";
                                        _lc.SUERRCOD = dbi.ERROCONSULTA.CODERRO.ToString();
                                        _lc.SUERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI.ToString();
                                        _lc.SUESTADO = "";
                                        _lc.SULOGRADOURO = "";
                                        _lc.SUNUMERO = "";
                                        _lc.SUPAGINA = "";
                                        _lc.SURAZAOSOCIAL = "";
                                        _lc.SUSITUACAO = "";
                                        _lc.SUSUFRAMANUM = "";
                                        _lc.SUTELEFONE = "";
                                        _lc.SUTIPOINCENTIVO = "";
                                    
                                    }

                                    else 
                                    {
                                        _lc.SU = (qtd + 1).ToString();
                                        _lc.SUATIVIDADEECONOMICA = "";
                                        _lc.SUBAIRRO = "";
                                        _lc.SUCEP = "";
                                        _lc.SUCIDADE = "";
                                        _lc.SUCNPJ = "";
                                        _lc.SUCOMPLEMENTO = "";
                                        _lc.SUDATACONSULTA = "";
                                        _lc.SUDATAVALIDADE = "";
                                        _lc.SUEMAIL = "";
                                        _lc.SUERRCOD = dbi.ERROCONSULTA.CODERRO.ToString();
                                        _lc.SUERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI.ToString();
                                        _lc.SUESTADO = "";
                                        _lc.SULOGRADOURO = "";
                                        _lc.SUNUMERO = "";
                                        _lc.SUPAGINA = "";
                                        _lc.SURAZAOSOCIAL = "";
                                        _lc.SUSITUACAO = "";
                                        _lc.SUSUFRAMANUM = "";
                                        _lc.SUTELEFONE = "";
                                        _lc.SUTIPOINCENTIVO = "";
                                    
                                    }
                                   
                                    ret = _lc.LINHA;

                                }

                            }
                            catch (Exception ex)
                            {
                                _lc.SU = (qtd + 1).ToString();
                                _lc.SUATIVIDADEECONOMICA = "";
                                _lc.SUBAIRRO = "";
                                _lc.SUCEP = "";
                                _lc.SUCIDADE = "";
                                _lc.SUCNPJ = "";
                                _lc.SUCOMPLEMENTO = "";
                                _lc.SUDATACONSULTA = "";
                                _lc.SUDATAVALIDADE = "";
                                _lc.SUEMAIL = "";
                                _lc.SUERRCOD = "Erro DBI WS";
                                _lc.SUERRDESCRI = "Consulte LOG WS DBI";
                                _lc.SUESTADO = "";
                                _lc.SULOGRADOURO = "";
                                _lc.SUNUMERO = "";
                                _lc.SUPAGINA = "";
                                _lc.SURAZAOSOCIAL = "";
                                _lc.SUSITUACAO = "";
                                _lc.SUSUFRAMANUM = "";
                                _lc.SUTELEFONE = "";
                                _lc.SUTIPOINCENTIVO = "";

                                
                                ret = _lc.LINHA;

                                log.erro("consultaCNPJSUV1", String.Format("IDOS:{0},CNPJ:{1}", __idos.ToString(), _lc.ORCNPJ), ex.Message + "|" + ex.StackTrace.ToString());
                            }
                        }
                        // else if qtd < 5
                        else
                        {
                            _lc.SU = "ERR";
                            _lc.SUATIVIDADEECONOMICA = "";
                            _lc.SUBAIRRO = "";
                            _lc.SUCEP = "";
                            _lc.SUCIDADE = "";
                            _lc.SUCNPJ = "";
                            _lc.SUCOMPLEMENTO = "";
                            _lc.SUDATACONSULTA = "";
                            _lc.SUDATAVALIDADE = "";
                            _lc.SUEMAIL = "";
                            _lc.SUERRCOD = "tentativas SU";
                            _lc.SUERRDESCRI = "Ocorreram mais de 5 tentativas sem exito do DBI, processo cancelado";
                            _lc.SUESTADO = "";
                            _lc.SULOGRADOURO = "";
                            _lc.SUNUMERO = "";
                            _lc.SUPAGINA = "";
                            _lc.SURAZAOSOCIAL = "";
                            _lc.SUSITUACAO = "";
                            _lc.SUSUFRAMANUM = "";
                            _lc.SUTELEFONE = "";
                            _lc.SUTIPOINCENTIVO = "";

                            ret = _lc.LINHA;

                        }
                    }

                    // else do int.tryparse
                    else
                    {
                        _lc.SU = "ERR";
                        _lc.SUERRCOD = "qtd not int";
                        _lc.SUERRDESCRI = "qtd tentativas not int";

                        ret = _lc.LINHA;
                    }

                }
                else
                {
                    _lc.SU = "ERR";
                    _lc.SUERRCOD = "30-1";
                    _lc.SUERRDESCRI = "CNPJ não pertence ao AM";

                    ret = _lc.LINHA;
                }

                string arquivo = csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/mp/" + _mpn.ToString() + "/consultas.txt";
                FW.cIO.appendLine(arquivo, ret);
                
            }
            catch (Exception ex)
            {
                log.erro("consultaCNPJSUV1 falha metodo", __idos.ToString(), ex.Message + "|" + ex.StackTrace);
            }
        }


        static public void consultaCPFRFV1(linhaComplexPFV1 _lc, long __idos, int __idemp, int _mpn)
        {
            //string crchave = "q1w2e3r4t5y6u7i8o9p0zaxscdvfbgnhmjkl";
            configSRV csrv = new configSRV();
            fwlog log = new fwlog(csrv.TEMPDIR + "\\log.dbiKcad.txt", csrv.TIPOLOG);
            // System.Diagnostics.Debugger.Launch();

            try
            {
                string ret = "";

                int qtd = 0;
                if (int.TryParse(_lc.RF, out qtd))
                {
                    if (qtd < 5)
                    {
                        dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);
                        try
                        {
                            dbiparser.dbiparser.RFCPF cpf = (dbiparser.dbiparser.RFCPF)dbi.Consulta(4, _lc.ORCPF, "", "", "", "");

                            if (dbi.ERROCONSULTA == null)
                            {
                                gravarConprovanteV1("RF", cpf.PAGINA, _lc.ORCPF, __idemp, __idos);

                                _lc.RF = "OK";
                                _lc.RFCODIGOCONSULTA = cpf.CODIGOCONSULTA.Replace("\"", "");
                                _lc.RFCPF = cpf.CPF.Replace(".", "").Replace("/", "").Replace("-", "").Replace("\"", "");
                                _lc.RFDATACONSULTA = cpf.DATACONSULTA.ToString("dd/MM/yyyy");
                                _lc.RFNOME = cpf.NOME.Replace("\"", "");
                                _lc.RFSITUACAO = cpf.SITUACAOCADASTRAL.Replace("\"", "");
                                _lc.RFERRCOD = "";
                                _lc.RFERRDESCRI = "";
                            }
                            else
                            {
                                if (dbi.ERROCONSULTA.CODERRO == "2" || dbi.ERROCONSULTA.CODERRO == "11" || dbi.ERROCONSULTA.CODERRO == "14")
                                {
                                    _lc.RF = "ERR";
                                    _lc.RFCODIGOCONSULTA = "";
                                    _lc.RFCPF = "";
                                    _lc.RFDATACONSULTA = "";
                                    _lc.RFNOME = "";
                                    _lc.RFSITUACAO = "";
                                    _lc.RFERRCOD = dbi.ERROCONSULTA.CODERRO;
                                    _lc.RFERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;
                                    
                                }
                                else if (dbi.ERROCONSULTA.CODERRO == "5")
                                {
                                    _lc.RF = "ERR";
                                    _lc.RFCODIGOCONSULTA = "";
                                    _lc.RFCPF = "";
                                    _lc.RFDATACONSULTA = "";
                                    _lc.RFNOME = "";
                                    _lc.RFSITUACAO = "";
                                    _lc.RFERRCOD = dbi.ERROCONSULTA.CODERRO;
                                    _lc.RFERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;

                                }
                                else
                                {
                                    _lc.RF = (qtd + 1).ToString();
                                    _lc.RFERRCOD = dbi.ERROCONSULTA.CODERRO;
                                    _lc.RFERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;

                                }
                            }

                        }
                        catch (Exception ex)
                        {
                            _lc.RF = (qtd + 1).ToString();
                            _lc.RFERRCOD = "ERR DBI";
                            _lc.RFERRDESCRI = "VIDE LOG";
                           
                            log.erro("consultaCPFRFV1", String.Format("IDOS:{0},CPF:{1}", __idos.ToString(), _lc.ORCPF), ex.Message + "|" + ex.StackTrace.ToString());
                        }
                        dbi = null;
                    }
                    else
                    {
                        _lc.RF = "ERR";
                        _lc.RFERRCOD = "tentativas RF";
                        _lc.RFERRDESCRI = "Ocorreram mais de 5 tentativas sem exito do DBI, processo cancelado";
                    }

                }
                else
                {
                    _lc.RF = "ERR";
                    _lc.RFERRCOD = "qtd not int";
                    _lc.RFERRDESCRI = "qtd not int";
                }

                ret = _lc.LINHA;

                string arquivo = csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/mp/" + _mpn.ToString() + "/consultas.txt";
                FW.cIO.appendLine(arquivo, ret);
            }
            catch (Exception ex)
            {
                log.erro("consultaCPFRFV1 falha metodo", __idos.ToString(), ex.Message + "|" + ex.StackTrace);
            }
            //return ret;
        }

        static public void consultaCPFIBGEV1(linhaComplexPFV1 _lc, long __idos, int __idemp, int _mpn)
        {
            configSRV csrv = new configSRV();
            fwlog log = new fwlog(csrv.TEMPDIR + "\\log.dbiKcad.txt", csrv.TIPOLOG);
            // System.Diagnostics.Debugger.Launch();
            try
            {
                string ret = "";


                if (_lc.COESTADO != "" && _lc.COESTADO != "**")
                {
                    int qtd = 0;
                    if (int.TryParse(_lc.IB, out qtd))
                    {
                        if (qtd < 5)
                        {
                            dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);

                            try
                            {
                                dbiparser.dbiparser.MUNICIPIOIBGE ibge = (dbiparser.dbiparser.MUNICIPIOIBGE)dbi.Consulta(13, _lc.COCIDADE, _lc.COESTADO, "", "", "");
                                if (dbi.ERROCONSULTA == null)
                                {
                                    _lc.IBCODIBGE = ibge.CODIGOIBGE;
                                    _lc.IB = "OK";
                                }
                                else
                                {
                                    _lc.IB = (qtd + 1).ToString();
                                    _lc.STATUS = "WS DBI IBGE " + dbi.ERROCONSULTA.CODERRO + dbi.ERROCONSULTA.ERRODESCRI;
                                    //log.erro("consultaIBGERF", _lc.ORCNPJ, ex.Message);
                                }
                            }
                            catch (Exception ex)
                            {
                                _lc.IB = (qtd + 1).ToString();
                                _lc.STATUS = "ERR WS DBI IBGE ";
                                log.erro("consultaCPFIBGERF", _lc.ORCPF, ex.Message + "|" + ex.StackTrace.ToString());
                            }

                            dbi = null;
                        }
                        else
                        {
                            _lc.IB = "ERR";
                            _lc.STATUS = "tentativas IB";
                        }
                    }
                    else
                    {
                        _lc.IB = "ERR";
                        _lc.STATUS = "IBGE not int";
                    }
                }
                else
                {
                    _lc.IB = "ERR";
                    _lc.STATUS = "IBGE UF null";
                }

                ret = _lc.LINHA;

                string arquivo = csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/mp/" + _mpn.ToString() + "/consultas.txt";
                FW.cIO.appendLine(arquivo, ret);
            }
            catch (Exception ex)
            {
                log.erro("consultaCPFIBGEV1 falha metodo", __idos.ToString(), ex.Message + "|" + ex.StackTrace.ToString());
            }
        }

        static public void consultaCPFCORREIOV1(linhaComplexPFV1 _lc, long __idos, int __idemp, int _mpn)
        {
            configSRV csrv = new configSRV();
            fwlog log = new fwlog(csrv.TEMPDIR + "\\log.dbiKcad.txt", csrv.TIPOLOG);
            // System.Diagnostics.Debugger.Launch();
            try
            {
                string ret = "";


                if (_lc.ORCEP != "")
                {
                    int qtd = 0;
                    if (int.TryParse(_lc.IB, out qtd))
                    {
                        if (qtd < 5)
                        {
                            dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);

                            try
                            {
                                dbiparser.dbiparser.CEP cep = (dbiparser.dbiparser.CEP)dbi.Consulta(16, _lc.ORCEP,"", "", "", "");
                                if (dbi.ERROCONSULTA == null)
                                {
                                    _lc.CO = "OK";
                                    _lc.COBAIRRO = cep.BAIRRO.Replace("\"", "");
                                    _lc.COCEP = cep.CEPNUM.Replace("-", "").Replace("/", "").Replace(".", "");
                                    _lc.COCIDADE = cep.CIDADE.Replace("\"", "");
                                    _lc.COCOMPLEMENTO = cep.COMPLEMENTO.Replace("\"", "");
                                    _lc.COERRCOD = "";
                                    _lc.COERRDESCRI = "";
                                    _lc.COESTADO = cep.ESTADO.Replace("\"", "");
                                    _lc.COLOGRADOURO = cep.CODLOGRADOURO.Replace("\"", "");
                                    
                                    
                                }
                                else
                                {
                                    if (dbi.ERROCONSULTA.CODERRO == "15")
                                    {
                                        _lc.CO = "OK";
                                        _lc.COBAIRRO = "";
                                        _lc.COCEP = "";
                                        _lc.COCIDADE ="";
                                        _lc.COCOMPLEMENTO = "";
                                        _lc.COERRCOD = dbi.ERROCONSULTA.CODERRO;
                                        _lc.COERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;
                                        _lc.COESTADO = "";
                                        _lc.COLOGRADOURO = "";
                                    
                                    }
                                    else
                                    {
                                        _lc.CO = (qtd + 1).ToString();
                                        _lc.COBAIRRO = "";
                                        _lc.COCEP = "";
                                        _lc.COCIDADE = "";
                                        _lc.COCOMPLEMENTO = "";
                                        _lc.COERRCOD = dbi.ERROCONSULTA.CODERRO;
                                        _lc.COERRDESCRI = dbi.ERROCONSULTA.ERRODESCRI;
                                        _lc.COESTADO = "";
                                        _lc.COLOGRADOURO = "";
                                    }
                                    
                                }
                            }
                            catch (Exception ex)
                            {
                                _lc.CO = (qtd + 1).ToString();
                                _lc.COBAIRRO = "";
                                _lc.COCEP = "";
                                _lc.COCIDADE = "";
                                _lc.COCOMPLEMENTO = "";
                                _lc.COERRCOD = "ERR WS DBI CORREIO ";
                                _lc.COERRDESCRI = "VIDE LOG";
                                _lc.COESTADO = "";
                                _lc.COLOGRADOURO = "";
                                log.erro("consultaCPFCORREIOV1", _lc.ORCPF, ex.Message + "|" + ex.StackTrace.ToString());
                            }

                            dbi = null;
                        }
                        else
                        {
                            _lc.CO = "ERR";
                            _lc.COBAIRRO = "";
                            _lc.COCEP = "";
                            _lc.COCIDADE = "";
                            _lc.COCOMPLEMENTO = "";
                            _lc.COERRCOD = "tentativas";
                            _lc.COERRDESCRI = "mais de 5 tentativas de consultar Correios";
                            _lc.COESTADO = "";
                            _lc.COLOGRADOURO = "";
                            
                        }
                    }
                    else
                    {
                        _lc.CO = "ERR";
                        _lc.COBAIRRO = "";
                        _lc.COCEP = "";
                        _lc.COCIDADE = "";
                        _lc.COCOMPLEMENTO = "";
                        _lc.COERRCOD = "ERR not INT";
                        _lc.COERRDESCRI = "CO not int";
                        _lc.COESTADO = "";
                        _lc.COLOGRADOURO = "";
                       
                    }
                }
                else
                {
                    _lc.CO = "ERR";
                    _lc.COBAIRRO = "";
                    _lc.COCEP = "";
                    _lc.COCIDADE = "";
                    _lc.COCOMPLEMENTO = "";
                    _lc.COERRCOD = "ERR CEP VAZIO";
                    _lc.COERRDESCRI = "ERR ORCEP VAZIO";
                    _lc.COESTADO = "";
                    _lc.COLOGRADOURO = "";
                }

                ret = _lc.LINHA;

                string arquivo = csrv.TEMPDIR + "/" + __idemp.ToString() + "/" + __idos.ToString() + "/mp/" + _mpn.ToString() + "/consultas.txt";
                FW.cIO.appendLine(arquivo, ret);
            }
            catch (Exception ex)
            {
                log.erro("consultaCPFCORREIOV1 falha metodo", __idos.ToString(), ex.Message + "|" + ex.StackTrace.ToString());
            }
        }


        //private string consultaCPFRF(string _cpf, int _tentativas)
        //{
        //    //RFativ = 0;
        //    erro = "";
        //    string ret = "";
        //    linhaSimplePF ls = new linhaSimplePF();
        //    dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);

        //    if (acaoThread == "RUN")
        //    {
        //        try
        //        {
        //            dbiparser.dbiparser.RFCPF cpf = (dbiparser.dbiparser.RFCPF)dbi.Consulta(4, _cpf.Replace("\"", ""), "", "", "", "");

        //            if (dbi.ERROCONSULTA == null)
        //            {
        //                gravarConprovante("RF", cpf.PAGINA, _cpf);

        //                ls.TIPOVERIFICACAO = "RF";
        //                ls.CODIGO = codigoint;
        //                ls.EMPRESA = empresaint;
        //                ls.FILIAL = filialint;
        //                ls.CPF = cpf.CPF.Replace(".", "").Replace("/", "").Replace("-", "");
        //                ls.NOME = cpf.NOME.Replace("\"", "");
        //                ls.SITUACAOCPF = cpf.SITUACAOCADASTRAL.Replace("\"", "");
        //                ls.ERROCOD = "";
        //                ls.ERRODESCRI = "";
        //                ls.QTDTENTATIVAS = (_tentativas + 1).ToString();
        //                //string linhasaida = "\"RF\";" +
        //                //    "\"" + codigoint + "\";" +
        //                //    "\"" + empresaint + "\";" +
        //                //    "\"" + filialint + "\";" +
        //                //    "\"" + cpf.CPF.Replace(".", "").Replace("/", "").Replace("-", "") + "\";" +
        //                //    "\"" + cpf.NOME.Replace("\"", "") + "\";" +
        //                //    "\"" + cpf.SITUACAOCADASTRAL.Replace("\"", "") + "\";";
        //                ls.normatiza();
        //                ret = (ls.LINHA);

        //                //if (cpf.SITUACAOCADASTRAL.ToUpper() == "REGULAR")
        //                //    RFativ = 1;
        //                erro = "";
        //            }
        //            else
        //            {

        //                if (dbi.ERROCONSULTA.CODERRO == "5")
        //                {
        //                    erro = "";
        //                    ls.TIPOVERIFICACAO = "RF";
        //                    ls.CODIGO = codigoint;
        //                    ls.EMPRESA = empresaint;
        //                    ls.FILIAL = filialint;
        //                    ls.CPF = _cpf;
        //                    ls.ERROCOD = dbi.ERROCONSULTA.CODERRO;
        //                    ls.ERRODESCRI = dbi.ERROCONSULTA.ERRODESCRI;
        //                    ls.QTDTENTATIVAS = (_tentativas + 1).ToString();
        //                    //ret = string.Format("\"RF\";\"{0}\";\"{1}\";\"{2}\";\"{3}\";\"Erro Receita CPF\";\"{4}\";\"{5}\";", codigoint, empresaint, filialint, _cpf.Replace("\"", ""), dbi.ERROCONSULTA.CODERRO, dbi.ERROCONSULTA.ERRODESCRI);
        //                    //ret = ("\"RF\";\"Erro receita\";\"\";\"\";\"" + _cpf.Replace("\"", "") + "\";\"" + dbi.ERROCONSULTA.CODERRO + "\";\"" + dbi.ERROCONSULTA.ERRODESCRI + "\";");
        //                    ret = ls.LINHA;
        //                }
        //                else
        //                {
        //                    erro = "4.1";
        //                    ls.TIPOVERIFICACAO = "RFerr";
        //                    ls.CODIGO = codigoint;
        //                    ls.EMPRESA = empresaint;
        //                    ls.FILIAL = filialint;
        //                    ls.CPF = _cpf;
        //                    ls.ERROCOD = dbi.ERROCONSULTA.CODERRO;
        //                    ls.ERRODESCRI = dbi.ERROCONSULTA.ERRODESCRI;
        //                    ls.QTDTENTATIVAS = (_tentativas + 1).ToString();
        //                    ret = ls.LINHA; // string.Format("\"RFerr\";\"{0}\";\"{1}\";\"{2}\";\"{3}\";\"Erro Receita CPF\";\"{4}\";\"{5}\";", codigoint, empresaint, filialint, _cpf.Replace("\"", ""), dbi.ERROCONSULTA.CODERRO, dbi.ERROCONSULTA.ERRODESCRI);
        //                    //ret = ("\"RFerr\";\"Erro receita\";\"\";\"\";\"" + _cpf.Replace("\"", "") + "\";\"" + dbi.ERROCONSULTA.CODERRO + "\";\"" + dbi.ERROCONSULTA.ERRODESCRI + "\";");
        //                }
        //            }

        //        }
        //        catch (Exception ex)
        //        {
        //            erro = "4.2";
        //            ls.TIPOVERIFICACAO = "RFerr";
        //            ls.CODIGO = codigoint;
        //            ls.EMPRESA = empresaint;
        //            ls.FILIAL = filialint;
        //            ls.CPF = _cpf;
        //            ls.ERROCOD = "Erro DBI WS";
        //            ls.ERRODESCRI = "Erro DBI WS - Consultar LOG";
        //            ls.QTDTENTATIVAS = (_tentativas + 1).ToString();
        //            ret = ls.LINHA; // ret = string.Format("\"RFerr\";\"{0}\";\"{1}\";\"{2}\";\"{3}\";\"Erro WS DBI\";\"{4}\";\"{5}\";", codigoint, empresaint, filialint, _cpf.Replace("\"", ""), "", "Consultar LOG");
        //            //ret = "\"RFerr\";\"Erro ws DBI\";\"\";\"\";\"" + _cpf + "\";\"Consultar LOG\";";
        //            log.erro("consultaCNPJRF", _cpf, ex.Message);
        //            uf = "";

        //        }
        //    }
        //    else
        //    {
        //        erro = "4.CANCEL";
        //        ls.TIPOVERIFICACAO = "RFerr";
        //        ls.CODIGO = codigoint;
        //        ls.EMPRESA = empresaint;
        //        ls.FILIAL = filialint;
        //        ls.CPF = _cpf;
        //        ls.ERROCOD = "Cancelamento Thread";
        //        ls.ERRODESCRI = "Cancelamento Thread";
        //        ls.QTDTENTATIVAS = (_tentativas).ToString();
        //        ret = ls.LINHA; // ret = string.Format("\"RFerr\";\"{0}\";\"{1}\";\"{2}\";\"{3}\";\"Erro WS DBI\";\"{4}\";\"{5}\";", codigoint, empresaint, filialint, _cpf.Replace("\"", ""), "", "Consultar LOG");
        //        //ret = "\"RFerr\";\"Erro ws DBI\";\"\";\"\";\"" + _cpf + "\";\"Consultar LOG\";";
        //        // log.erro("consultaCNPJRF", _cpf, ex.Message);
        //        uf = "";

        //    }
        //    dbi = null;
        //    return ret;
        //}

        //private string consultaCorreios(string _cpf, string _cep, int _tentativas)
        //{
        //    //RFativ = 0;
        //    erro = "";
        //    string ret = "";
        //    linhaSimplePF ls = new linhaSimplePF();
        //    dbiparser.dbiparser dbi = new dbiparser.dbiparser(csrv.WSDBIURL, csrv.WSDBILOGIN, csrv.WSDBISENHA);

        //    if (acaoThread == "RUN")
        //    {
        //        try
        //        {
        //            dbiparser.dbiparser.CEP cep = (dbiparser.dbiparser.CEP)dbi.Consulta(16, _cep.Replace("\"", ""), "", "", "", "");

        //            if (dbi.ERROCONSULTA == null)
        //            {
        //                // gravarConprovante("RF", cpf.PAGINA, _cpf);
        //                if (cep.ESTADO != "")
        //                {
        //                    try
        //                    {
        //                        dbiparser.dbiparser.MUNICIPIOIBGE ibg = (dbiparser.dbiparser.MUNICIPIOIBGE)dbi.Consulta(13, FW.utils.NormatizaCampoRF(cep.CIDADE), FW.utils.NormatizaCampoRF(cep.ESTADO), "", "", "");
        //                        if (dbi.ERROCONSULTA == null)
        //                        {
        //                            ls.IBGE = ibg.CODIGOIBGE;
        //                        }
        //                        else
        //                        {
        //                            ls.IBGE = "";
        //                        }
        //                    }
        //                    catch (Exception ex)
        //                    {
        //                        ls.IBGE = "";
        //                        log.erro("consulta ibge cep cpf", codigoint.ToString(), ex.Message);
        //                    }
        //                }
        //                else
        //                {
        //                    ls.IBGE = "";
        //                }

        //                ls.TIPOVERIFICACAO = "CO";
        //                ls.CODIGO = codigoint;
        //                ls.EMPRESA = empresaint;
        //                ls.FILIAL = filialint;
        //                ls.CPF = _cpf;
        //                ls.CEP = _cep;
        //                ls.LOGRADOURO = FW.utils.NormatizaCampoRF(cep.RUA);
        //                ls.MUNICIPIO = FW.utils.NormatizaCampoRF(cep.CIDADE);
        //                ls.BAIRRO = FW.utils.NormatizaCampoRF(cep.BAIRRO);
        //                ls.UF = FW.utils.NormatizaCampoRF(cep.ESTADO);
        //                ls.COMPLEMENTO = FW.utils.NormatizaCampoRF(cep.COMPLEMENTO);
        //                ls.ERROCOD = "";
        //                ls.ERRODESCRI = "";
        //                ls.QTDTENTATIVAS = (_tentativas + 1).ToString();
        //                //string linhasaida = "\"RF\";" +
        //                //    "\"" + codigoint + "\";" +
        //                //    "\"" + empresaint + "\";" +
        //                //    "\"" + filialint + "\";" +
        //                //    "\"" + cpf.CPF.Replace(".", "").Replace("/", "").Replace("-", "") + "\";" +
        //                //    "\"" + cpf.NOME.Replace("\"", "") + "\";" +
        //                //    "\"" + cpf.SITUACAOCADASTRAL.Replace("\"", "") + "\";";
        //                ls.normatiza();
        //                ret = (ls.LINHA);

        //                //if (cpf.SITUACAOCADASTRAL.ToUpper() == "REGULAR")
        //                //    RFativ = 1;
        //                erro = "";
        //            }
        //            else
        //            {
        //                erro = "16.1";
        //                ls.TIPOVERIFICACAO = "COerr";
        //                ls.CODIGO = codigoint;
        //                ls.EMPRESA = empresaint;
        //                ls.FILIAL = filialint;
        //                ls.CEP = _cep;
        //                ls.LOGRADOURO = "";
        //                ls.MUNICIPIO = "";
        //                ls.BAIRRO = "";
        //                ls.UF = "";
        //                ls.ERROCOD = dbi.ERROCONSULTA.CODERRO;
        //                ls.ERRODESCRI = dbi.ERROCONSULTA.ERRODESCRI;
        //                ls.QTDTENTATIVAS = (_tentativas + 1).ToString();
        //                ret = ls.LINHA; // string.Format("\"RFerr\";\"{0}\";\"{1}\";\"{2}\";\"{3}\";\"Erro Receita CPF\";\"{4}\";\"{5}\";", codigoint, empresaint, filialint, _cpf.Replace("\"", ""), dbi.ERROCONSULTA.CODERRO, dbi.ERROCONSULTA.ERRODESCRI);
        //                //ret = ("\"RFerr\";\"Erro receita\";\"\";\"\";\"" + _cpf.Replace("\"", "") + "\";\"" + dbi.ERROCONSULTA.CODERRO + "\";\"" + dbi.ERROCONSULTA.ERRODESCRI + "\";");

        //            }

        //        }
        //        catch (Exception ex)
        //        {
        //            if (dbi.XMLRETORNO.Contains("<CodErro>15</CodErro>"))
        //            {
        //                erro = "16.15";
        //                ls.TIPOVERIFICACAO = "CO";
        //                ls.CODIGO = codigoint;
        //                ls.EMPRESA = empresaint;
        //                ls.FILIAL = filialint;
        //                ls.CEP = _cep;
        //                ls.LOGRADOURO = "";
        //                ls.MUNICIPIO = "";
        //                ls.BAIRRO = "";
        //                ls.UF = "";
        //                ls.ERROCOD = "CEP 15";
        //                ls.ERRODESCRI = "CEP Invalido";
        //                ls.QTDTENTATIVAS = (_tentativas + 1).ToString();
        //                ret = ls.LINHA; // ret = string.Format("\"RFerr\";\"{0}\";\"{1}\";\"{2}\";\"{3}\";\"Erro WS DBI\";\"{4}\";\"{5}\";", codigoint, empresaint, filialint, _cpf.Replace("\"", ""), "", "Consultar LOG");
        //                //ret = "\"RFerr\";\"Erro ws DBI\";\"\";\"\";\"" + _cpf + "\";\"Consultar LOG\";";
        //                log.erro("consultaCorreios", _cep, ex.Message);
        //                uf = "";
        //            }
        //            else
        //            {
        //                erro = "16.2";
        //                ls.TIPOVERIFICACAO = "COerr";
        //                ls.CODIGO = codigoint;
        //                ls.EMPRESA = empresaint;
        //                ls.FILIAL = filialint;
        //                ls.CEP = _cep;
        //                ls.LOGRADOURO = "";
        //                ls.MUNICIPIO = "";
        //                ls.BAIRRO = "";
        //                ls.UF = "";
        //                ls.ERROCOD = "Erro DBI WS";
        //                ls.ERRODESCRI = "Consultar LOG";
        //                ls.QTDTENTATIVAS = (_tentativas + 1).ToString();
        //                ret = ls.LINHA; // ret = string.Format("\"RFerr\";\"{0}\";\"{1}\";\"{2}\";\"{3}\";\"Erro WS DBI\";\"{4}\";\"{5}\";", codigoint, empresaint, filialint, _cpf.Replace("\"", ""), "", "Consultar LOG");
        //                //ret = "\"RFerr\";\"Erro ws DBI\";\"\";\"\";\"" + _cpf + "\";\"Consultar LOG\";";
        //                log.erro("consultaCorreios", _cep, ex.Message);
        //                uf = "";
        //            }
        //        }
        //    }
        //    else
        //    {
        //        erro = "16.CANCEL";
        //        ls.TIPOVERIFICACAO = "COerr";
        //        ls.CODIGO = codigoint;
        //        ls.EMPRESA = empresaint;
        //        ls.FILIAL = filialint;
        //        ls.CEP = _cep;
        //        ls.LOGRADOURO = "";
        //        ls.MUNICIPIO = "";
        //        ls.BAIRRO = "";
        //        ls.UF = "";
        //        ls.ERROCOD = "Cancelamento Thread";
        //        ls.ERRODESCRI = "Cancelamento Thread";
        //        ls.QTDTENTATIVAS = (_tentativas).ToString();
        //        ret = ls.LINHA; // ret = string.Format("\"RFerr\";\"{0}\";\"{1}\";\"{2}\";\"{3}\";\"Erro WS DBI\";\"{4}\";\"{5}\";", codigoint, empresaint, filialint, _cpf.Replace("\"", ""), "", "Consultar LOG");
        //        //ret = "\"RFerr\";\"Erro ws DBI\";\"\";\"\";\"" + _cpf + "\";\"Consultar LOG\";";
        //        //log.erro("consultaCorreios", _cep, ex.Message);
        //        uf = "";

        //    }
        //    dbi = null;
        //    return ret;
        //}

        
    }
}
